<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
  <meta content="text/html; charset=iso-8859-1"
 http-equiv="Content-Type">
  <meta content="IBM" name="Author">
  <title>Package-level Javadoc</title>
</head>
<body>
Application programming interfaces for managing synchronization state.
<h2>Package Specification</h2>
<p>This package specifies the API for managing the synchronization state between 
  the local workspace resources and a corresponding variants of those resources. 
  The classes in this package can be used by Subscribers (see the org.eclipse.team.core.subscribers 
  package) or others. The classes are roughly divided into three categories: </p>
<ul>
  <li>describing the synchronization state of a one or more resources,</li>
  <li>notifying interested parties of changes in the synchronization state.</li>
  <li>filtering a set of resource based on a sync state criteria</li>
</ul>
<h3>Describing the synchronization state of resources</h3>
<p>The following classes are provided to accumulate (and possibly filter) the 
  synchronization state of one or more resources.</p>
<ul>
  <li>SyncInfo: node which maps a local resource to a corresponding variant resource 
    (and a base resource for three-way compare) and descibes the synchronization 
    state of those resources (e.g. in-sync or incoming-change).</li>
  <li>SyncInfoSet: a set which contains the out-of-sync SyncInfo for multiple 
    local resources.</li>
  <li>SyncInfoTree: a specialized set optimized for hierarchical resource based 
    access (e.g. to obtain all out-of-sync children of a particular local resource).</li>
</ul>
<h3>Notifying interested parties of sync info set changes</h3>
<p>Interested parties can register with a SyncInfoSet in order to
receive notification when a set changes.</p>
<ul>
  <li>ISyncInfoSetChangeListener: implementors of this interface can be
registered with a SyncInfoSet in order to recieve notification when the
contents of the set change.</li>
  <li>ISyncInfoSetChangeEvent: the type of the events generated by a
SyncInfoSet</li>
  <li>ISyncInfoTreeChangeEvent: specialized ISyncInfoSetChangeEvent
generated by SyncInfoTree which includes notification of resource
subtree aditions and removals.</li>
</ul>
<h3>Sync info filtering</h3>
<p>There are also some additional classes provided to help manage
SyncInfoSets</p>
<ul>
  <li>SyncInfoFilter: a filter that can be used to test SyncInfo. Long
running tests are supported via an IProgressMonitor. SyncInfoSet has
API for selecting and rejecting SyncInfo based on a provided filter.</li>
  <li>FastSyncInfoFilter: a specialized filter that does not support
the ue of a progress monitor</li>
</ul>
<p>Several common filters are provided as inner classes of the two
filter classes for doing synchronization state tests and filter
compounding (and, or, not).</p>
<p>&nbsp;</p>
</body>
</html>
